/*
 * @(#)BondLengthSet.java
 *
 * Copyright 2013 openmolecules.org, Inc. All Rights Reserved.
 *
 * This software is the proprietary information of openmolecules.org
 * Use is subject to license terms.
 *
 * @author Thomas Sander
 */

package com.actelion.research.chem.conf;

import com.actelion.research.chem.Molecule;
import com.actelion.research.chem.StereoMolecule;

public class BondLengthSet {
	private static final String[] BOND_TYPE = {
		  "1AgAg",  "1AgAs",  "1AgAu",  "1AgB0",  "1AgBr",  "1AgC0",  "1AgC1",  "1AgC2",
		  "1AgCl",  "1AgCo",  "1AgCu",   "1AgF",  "1AgFe",  "1AgGe",   "1AgH",  "1AgHg",
		   "1AgI",  "1AgIr",  "1AgLi",  "1AgMo",  "1AgN0",  "1AgN1",  "1AgN2",  "1AgO0",
		  "1AgO1",  "1AgOs",  "1AgP0",  "1AgP1",  "1AgPd",  "1AgPt",  "1AgRe",  "1AgS0",
		  "1AgS1",  "1AgSb",  "1AgSe",  "1AgSi",  "1AgSn",  "1AgTe",   "1AgW",  "1AlAl",
		  "1AlAs",  "1AlB0",  "1AlBi",  "1AlBr",  "1AlC0",  "1AlC1",  "1AlC2",  "1AlCa",
		  "1AlCl",  "1AlCr",   "1AlF",  "1AlGe",   "1AlH",   "1AlI",  "1AlIr",  "1AlLi",
		  "1AlMg",  "1AlMn",  "1AlMo",  "1AlN0",  "1AlN1",  "1AlN2",  "1AlO0",  "1AlO1",
		  "1AlP0",  "1AlP1",  "1AlS0",  "1AlS1",  "1AlSb",  "1AlSe",  "1AlSi",  "1AlSn",
		  "1AlTe",   "1AlW",  "1AsAs",  "1AsAu",  "1AsB0",  "1AsBa",  "1AsBi",  "1AsBr",
		  "1AsC0",  "1AsC1",  "1AsC2",  "1AsCa",  "1AsCd",  "1AsCl",  "1AsCo",  "1AsCr",
		  "1AsCu",   "1AsF",  "1AsFe",  "1AsGa",  "1AsGe",   "1AsH",  "1AsHg",   "1AsI",
		  "1AsIn",  "1AsIr",  "1AsLi",  "1AsMg",  "1AsMn",  "1AsMo",  "1AsN0",  "1AsN1",
		  "1AsN2",  "1AsNi",  "1AsO0",  "1AsO1",  "1AsOs",  "1AsP0",  "1AsP1",  "1AsPd",
		  "1AsPt",  "1AsRe",  "1AsRh",  "1AsRu",  "1AsS0",  "1AsS1",  "1AsSe",  "1AsSi",
		  "1AsSm",  "1AsSn",  "1AsSr",  "1AsTe",  "1AsTi",   "1AsW",  "1AsZn",  "1AuAu",
		  "1AuB0",  "1AuBr",  "1AuC0",  "1AuC1",  "1AuC2",  "1AuCl",  "1AuCo",  "1AuCu",
		  "1AuFe",  "1AuGe",   "1AuH",  "1AuHg",   "1AuI",  "1AuIn",  "1AuIr",  "1AuLi",
		  "1AuMn",  "1AuMo",  "1AuN0",  "1AuN1",  "1AuN2",  "1AuNa",  "1AuO0",  "1AuOs",
		  "1AuP0",  "1AuP1",  "1AuPd",  "1AuPt",  "1AuRe",  "1AuRh",  "1AuS0",  "1AuS1",
		  "1AuS2",  "1AuSb",  "1AuSe",  "1AuSi",  "1AuSn",  "1AuTe",  "1AuTl",   "1AuW",
		  "1B0B0",  "1B0B1",  "1B0Br",  "1B0C0",  "1B0C1",  "1B0C2",  "1B0Cd",  "1B0Cl",
		  "1B0Co",  "1B0Cu",   "1B0F",  "1B0Fe",  "1B0Ga",  "1B0Ge",   "1B0H",  "1B0Hg",
		   "1B0I",  "1B0In",  "1B0Ir",  "1B0Li",  "1B0Mg",  "1B0Mn",  "1B0Mo",  "1B0N0",
		  "1B0N1",  "1B0N2",  "1B0Na",  "1B0Ni",  "1B0O0",  "1B0O1",  "1B0Os",  "1B0P0",
		  "1B0P1",  "1B0Pd",  "1B0Pt",  "1B0Re",  "1B0Rh",  "1B0Ru",  "1B0S0",  "1B0S2",
		  "1B0Sb",  "1B0Se",  "1B0Si",  "1B0Sn",  "1B0Th",  "1B0Ti",  "1B0Tl",   "1B0U",
		   "1B0W",   "1B0Y",  "1B0Yb",  "1B0Zn",  "1B0Zr",  "1B1B1",  "1B1C0",  "1B1C1",
		  "1B1C2",  "1B1Cl",   "1B1F",   "1B1H",  "1B1Li",  "1B1N0",  "1B1N1",  "1B1O0",
		  "1B1P0",  "1B1P1",  "1B1Si",  "1B1Sn",  "1B2C1",  "1B2O0",  "1B2Si",  "1BaC0",
		   "1BaI",  "1BaN0",  "1BaN1",  "1BaO0",  "1BaO1",  "1BaP0",  "1BeBr",  "1BeC0",
		  "1BeC1",  "1BeC2",  "1BeCl",   "1BeF",   "1BeH",  "1BeN0",  "1BeN1",  "1BeN2",
		  "1BeO0",  "1BeO1",  "1BeP0",  "1BeS0",  "1BeZr",  "1BiBi",  "1BiBr",  "1BiC0",
		  "1BiC1",  "1BiC2",  "1BiCl",  "1BiCo",  "1BiCr",   "1BiF",  "1BiFe",  "1BiGa",
		  "1BiGe",   "1BiI",  "1BiMn",  "1BiMo",  "1BiN0",  "1BiN1",  "1BiO0",  "1BiO1",
		  "1BiOs",  "1BiP0",  "1BiPd",  "1BiPt",  "1BiS0",  "1BiS1",  "1BiSe",  "1BiSi",
		  "1BiSn",   "1BiW",  "1BrBr",  "1BrC0",  "1BrC1",  "1BrC2",  "1BrCa",  "1BrCd",
		  "1BrCe",  "1BrCl",  "1BrCo",  "1BrCr",  "1BrCu",   "1BrF",  "1BrFe",  "1BrGa",
		  "1BrGd",  "1BrGe",   "1BrH",  "1BrHg",   "1BrI",  "1BrIn",  "1BrIr",  "1BrLi",
		  "1BrMg",  "1BrMn",  "1BrMo",  "1BrN0",  "1BrN1",  "1BrNa",  "1BrNb",  "1BrNi",
		  "1BrO0",  "1BrOs",  "1BrP0",  "1BrP1",  "1BrPb",  "1BrPd",  "1BrPt",  "1BrRe",
		  "1BrRh",  "1BrRu",  "1BrS0",  "1BrS1",  "1BrSb",  "1BrSe",  "1BrSi",  "1BrSm",
		  "1BrSn",  "1BrTa",  "1BrTe",  "1BrTi",  "1BrTl",   "1BrU",   "1BrV",   "1BrW",
		   "1BrY",  "1BrYb",  "1BrZn",  "1BrZr",  "1C0C0",  "1C0C1",  "1C0C2",  "1C0Ca",
		  "1C0Cd",  "1C0Cl",  "1C0Co",  "1C0Cr",  "1C0Cs",  "1C0Cu",  "1C0Dy",  "1C0Er",
		  "1C0Eu",   "1C0F",  "1C0Fe",  "1C0Ga",  "1C0Ge",   "1C0H",  "1C0Hf",  "1C0Hg",
		  "1C0Ho",   "1C0I",  "1C0In",  "1C0Ir",   "1C0K",  "1C0La",  "1C0Li",  "1C0Lu",
		  "1C0Mg",  "1C0Mn",  "1C0Mo",  "1C0N0",  "1C0N1",  "1C0N2",  "1C0Na",  "1C0Nb",
		  "1C0Nd",  "1C0Ni",  "1C0O0",  "1C0O1",  "1C0Os",  "1C0P0",  "1C0P1",  "1C0P2",
		  "1C0Pb",  "1C0Pd",  "1C0Pt",  "1C0Rb",  "1C0Re",  "1C0Rh",  "1C0Ru",  "1C0S0",
		  "1C0S1",  "1C0S2",  "1C0Sb",  "1C0Sc",  "1C0Se",  "1C0Si",  "1C0Sm",  "1C0Sn",
		  "1C0Ta",  "1C0Te",  "1C0Th",  "1C0Ti",  "1C0Tl",   "1C0U",   "1C0V",   "1C0W",
		   "1C0Y",  "1C0Yb",  "1C0Zn",  "1C0Zr",  "1C1C1",  "1C1C2",  "1C1Cd",  "1C1Cl",
		  "1C1Co",  "1C1Cr",  "1C1Cu",  "1C1Er",  "1C1Eu",   "1C1F",  "1C1Fe",  "1C1Ga",
		  "1C1Ge",   "1C1H",  "1C1Hf",  "1C1Hg",   "1C1I",  "1C1In",  "1C1Ir",   "1C1K",
		  "1C1Li",  "1C1Lu",  "1C1Mg",  "1C1Mn",  "1C1Mo",  "1C1N0",  "1C1N1",  "1C1N2",
		  "1C1Na",  "1C1Nb",  "1C1Nd",  "1C1Ni",  "1C1O0",  "1C1O1",  "1C1Os",  "1C1P0",
		  "1C1P1",  "1C1P2",  "1C1Pb",  "1C1Pd",  "1C1Pt",  "1C1Rb",  "1C1Re",  "1C1Rh",
		  "1C1Ru",  "1C1S0",  "1C1S1",  "1C1S2",  "1C1S3",  "1C1Sb",  "1C1Sc",  "1C1Se",
		  "1C1Si",  "1C1Sm",  "1C1Sn",  "1C1Ta",  "1C1Te",  "1C1Ti",  "1C1Tl",  "1C1Tm",
		   "1C1U",   "1C1V",   "1C1W",   "1C1Y",  "1C1Yb",  "1C1Zn",  "1C1Zr",  "1C2C2",
		  "1C2Cd",  "1C2Ce",  "1C2Cl",  "1C2Co",  "1C2Cr",  "1C2Cu",  "1C2Fe",  "1C2Ga",
		  "1C2Ge",   "1C2H",  "1C2Hf",  "1C2Hg",   "1C2I",  "1C2In",  "1C2Ir",  "1C2Li",
		  "1C2Mg",  "1C2Mn",  "1C2Mo",  "1C2N0",  "1C2N1",  "1C2Na",  "1C2Nb",  "1C2Ni",
		  "1C2O0",  "1C2Os",  "1C2P0",  "1C2P1",  "1C2Pd",  "1C2Pt",  "1C2Re",  "1C2Rh",
		  "1C2Ru",  "1C2S0",  "1C2S1",  "1C2S2",  "1C2Sb",  "1C2Se",  "1C2Si",  "1C2Sn",
		  "1C2Ta",  "1C2Te",  "1C2Ti",  "1C2Tl",   "1C2U",   "1C2V",   "1C2W",   "1C2Y",
		  "1C2Yb",  "1C2Zn",  "1C2Zr",  "1C3Li",  "1CaCl",   "1CaI",  "1CaN0",  "1CaN1",
		  "1CaN2",  "1CaO0",  "1CaO1",  "1CaP0",  "1CaS0",  "1CaSn",  "1CaTe",  "1CdCd",
		  "1CdCl",  "1CdCo",  "1CdFe",   "1CdH",   "1CdI",  "1CdIr",  "1CdMn",  "1CdN0",
		  "1CdN1",  "1CdN2",  "1CdO0",  "1CdO1",  "1CdP0",  "1CdPt",  "1CdRu",  "1CdS0",
		  "1CdS1",  "1CdS2",  "1CdSb",  "1CdSe",  "1CdSi",  "1CdTe",  "1CeCl",   "1CeI",
		  "1CeN0",  "1CeO0",  "1CeO1",  "1ClCl",  "1ClCo",  "1ClCr",  "1ClCu",  "1ClDy",
		  "1ClEr",  "1ClEu",   "1ClF",  "1ClFe",  "1ClGa",  "1ClGd",  "1ClGe",   "1ClH",
		  "1ClHf",  "1ClHg",  "1ClHo",   "1ClI",  "1ClIn",  "1ClIr",   "1ClK",  "1ClLa",
		  "1ClLi",  "1ClLu",  "1ClMg",  "1ClMn",  "1ClMo",  "1ClN0",  "1ClN1",  "1ClNa",
		  "1ClNb",  "1ClNd",  "1ClNi",  "1ClNp",  "1ClO0",  "1ClOs",  "1ClP0",  "1ClP1",
		  "1ClP2",  "1ClPa",  "1ClPb",  "1ClPd",  "1ClPr",  "1ClPt",  "1ClRe",  "1ClRh",
		  "1ClRu",  "1ClS0",  "1ClS1",  "1ClS2",  "1ClSb",  "1ClSc",  "1ClSe",  "1ClSi",
		  "1ClSm",  "1ClSn",  "1ClTa",  "1ClTb",  "1ClTe",  "1ClTh",  "1ClTi",  "1ClTl",
		  "1ClTm",   "1ClU",   "1ClV",   "1ClW",   "1ClY",  "1ClYb",  "1ClZn",  "1ClZr",
		  "1CoCo",  "1CoCu",   "1CoF",  "1CoFe",  "1CoGa",  "1CoGe",   "1CoH",  "1CoHg",
		   "1CoI",  "1CoIn",  "1CoIr",  "1CoMn",  "1CoN0",  "1CoN1",  "1CoN2",  "1CoO0",
		  "1CoO1",  "1CoP0",  "1CoP1",  "1CoPb",  "1CoPd",  "1CoPt",  "1CoRe",  "1CoRh",
		  "1CoRu",  "1CoS0",  "1CoS1",  "1CoS2",  "1CoS3",  "1CoSb",  "1CoSe",  "1CoSi",
		  "1CoSn",  "1CoTe",  "1CoTi",  "1CoTl",   "1CoW",  "1CoZr",  "1CrCr",  "1CrF",
		  "1CrFe",  "1CrGa",  "1CrGe",   "1CrH",   "1CrI",  "1CrIn",  "1CrN0",  "1CrN1",
		  "1CrN2",  "1CrO0",  "1CrO1",  "1CrOs",  "1CrP0",  "1CrP1",  "1CrPb",  "1CrPt",
		  "1CrS0",  "1CrS1",  "1CrS2",  "1CrSb",  "1CrSe",  "1CrSi",  "1CrSn",  "1CrTe",
		  "1CrTl",  "1CsCs",   "1CsF",  "1CsGe",   "1CsI",  "1CsN0",  "1CsN1",  "1CsN2",
		  "1CsO0",  "1CsO1",  "1CsP0",  "1CsSi",  "1CuCu",   "1CuF",  "1CuFe",  "1CuGe",
		   "1CuH",  "1CuHg",   "1CuI",  "1CuIr",  "1CuLi",  "1CuMn",  "1CuMo",  "1CuN0",
		  "1CuN1",  "1CuN2",  "1CuO0",  "1CuO1",  "1CuOs",  "1CuP0",  "1CuP1",  "1CuPd",
		  "1CuPt",  "1CuRe",  "1CuRh",  "1CuS0",  "1CuS1",  "1CuSb",  "1CuSe",  "1CuSi",
		  "1CuSn",  "1CuTe",   "1CuW",  "1DyN0",  "1DyN1",  "1DyN2",  "1DyO0",  "1DyO1",
		  "1DyS0",  "1ErN0",  "1ErN1",  "1ErO0",  "1ErO1",  "1ErSe",   "1EuI",  "1EuN0",
		  "1EuN1",  "1EuN2",  "1EuO0",  "1EuO1",  "1EuP0",  "1EuS0",  "1EuSe",    "1FF",
		   "1FFe",   "1FGa",   "1FGe",    "1FH",   "1FHf",   "1FHg",    "1FI",   "1FIn",
		   "1FIr",    "1FK",   "1FLi",   "1FMn",   "1FMo",   "1FN0",   "1FNa",   "1FNb",
		   "1FNi",   "1FOs",   "1FP0",   "1FP1",   "1FPd",   "1FPt",   "1FRe",   "1FRh",
		   "1FRu",   "1FS0",   "1FS1",   "1FS2",   "1FSb",   "1FSe",   "1FSi",   "1FSn",
		   "1FTa",   "1FTe",   "1FTi",   "1FTl",    "1FU",    "1FV",    "1FW",   "1FYb",
		   "1FZn",   "1FZr",  "1FeFe",  "1FeGa",  "1FeGe",   "1FeH",  "1FeHg",   "1FeI",
		  "1FeIn",  "1FeIr",  "1FeMn",  "1FeMo",  "1FeN0",  "1FeN1",  "1FeN2",  "1FeNi",
		  "1FeO0",  "1FeO1",  "1FeO2",  "1FeOs",  "1FeP0",  "1FeP1",  "1FeP2",  "1FePb",
		  "1FePd",  "1FePt",  "1FeRe",  "1FeRh",  "1FeRu",  "1FeS0",  "1FeS1",  "1FeS2",
		  "1FeSb",  "1FeSe",  "1FeSi",  "1FeSn",  "1FeTe",  "1FeTl",   "1FeW",  "1FeZn",
		  "1GaGa",  "1GaGe",   "1GaH",   "1GaI",  "1GaIr",  "1GaMn",  "1GaN0",  "1GaN1",
		  "1GaN2",  "1GaNa",  "1GaO0",  "1GaO1",  "1GaP0",  "1GaPt",  "1GaRe",  "1GaRu",
		  "1GaS0",  "1GaS1",  "1GaSb",  "1GaSe",  "1GaSi",  "1GaTe",  "1GdN0",  "1GdN1",
		  "1GdO0",  "1GdO1",  "1GdS0",  "1GeGe",   "1GeH",  "1GeHg",   "1GeI",  "1GeIn",
		  "1GeIr",  "1GeLi",  "1GeMg",  "1GeMn",  "1GeMo",  "1GeN0",  "1GeN1",  "1GeN2",
		  "1GeNa",  "1GeNi",  "1GeO0",  "1GeO1",  "1GeOs",  "1GeP0",  "1GeP1",  "1GePb",
		  "1GePd",  "1GePt",  "1GeRh",  "1GeRu",  "1GeS0",  "1GeSb",  "1GeSe",  "1GeSi",
		  "1GeSn",  "1GeTe",  "1GeTi",   "1GeW",    "1HH",    "1HI",   "1HIn",   "1HIr",
		   "1HLi",   "1HMg",   "1HMn",   "1HMo",   "1HN0",   "1HN1",   "1HN2",   "1HNa",
		   "1HNb",   "1HNi",   "1HO0",   "1HO1",   "1HOs",   "1HP0",   "1HP1",   "1HPd",
		   "1HPt",   "1HRe",   "1HRh",   "1HRu",   "1HS0",   "1HSb",   "1HSe",   "1HSi",
		   "1HSn",   "1HTa",   "1HTi",    "1HV",    "1HW",    "1HY",   "1HYb",   "1HZn",
		   "1HZr",   "1HfI",  "1HfN0",  "1HfN1",  "1HfN2",  "1HfO0",  "1HfO1",  "1HfP0",
		  "1HfP1",  "1HfS0",  "1HfSi",  "1HfTe",  "1HgHg",   "1HgI",  "1HgIn",  "1HgIr",
		  "1HgLi",  "1HgMn",  "1HgN0",  "1HgN1",  "1HgN2",  "1HgNi",  "1HgO0",  "1HgO1",
		  "1HgOs",  "1HgP0",  "1HgP1",  "1HgPd",  "1HgPt",  "1HgRe",  "1HgRh",  "1HgRu",
		  "1HgS0",  "1HgS1",  "1HgSe",  "1HgSi",  "1HgTe",  "1HoN0",    "1II",   "1IIn",
		   "1IIr",   "1ILi",   "1IMg",   "1IMn",   "1IMo",   "1IN0",   "1IN1",   "1INa",
		   "1INb",   "1INd",   "1INi",   "1IO0",   "1IOs",   "1IP0",   "1IP1",   "1IP2",
		   "1IPb",   "1IPd",   "1IPt",   "1IRe",   "1IRh",   "1IRu",   "1IS0",   "1IS1",
		   "1IS2",   "1ISb",   "1ISe",   "1ISi",   "1ISm",   "1ISn",   "1ISr",   "1ITe",
		   "1ITh",   "1ITi",   "1ITl",   "1ITm",    "1IU",    "1IV",    "1IW",    "1IY",
		   "1IYb",   "1IZn",   "1IZr",  "1InIn",  "1InIr",  "1InMn",  "1InMo",  "1InN0",
		  "1InN1",  "1InN2",  "1InO0",  "1InO1",  "1InP0",  "1InP1",  "1InPt",  "1InRe",
		  "1InS0",  "1InS1",  "1InSb",  "1InSe",  "1InSi",  "1InSn",  "1InTe",   "1InW",
		  "1IrIr",  "1IrN0",  "1IrN1",  "1IrN2",  "1IrO0",  "1IrO1",  "1IrOs",  "1IrP0",
		  "1IrP1",  "1IrPb",  "1IrPd",  "1IrPt",  "1IrRe",  "1IrRh",  "1IrRu",  "1IrS0",
		  "1IrS1",  "1IrS2",  "1IrSe",  "1IrSi",  "1IrSn",  "1IrTe",  "1IrTl",   "1KN0",
		   "1KN1",   "1KN2",   "1KO0",   "1KO1",   "1KP0",   "1KS0",   "1KS1",   "1KSe",
		   "1KSi",  "1LaN0",  "1LaO0",  "1LaO1",  "1LaP0",  "1LiLi",  "1LiN0",  "1LiN1",
		  "1LiN2",  "1LiNi",  "1LiO0",  "1LiO1",  "1LiO2",  "1LiP0",  "1LiP1",  "1LiPb",
		  "1LiPd",  "1LiPt",  "1LiS0",  "1LiS1",  "1LiSb",  "1LiSe",  "1LiSi",  "1LiSn",
		  "1LiTe",   "1LiV",   "1LiW",  "1LiZn",  "1LuN0",  "1LuN1",  "1LuO0",  "1LuO1",
		  "1LuS0",  "1MgMg",  "1MgN0",  "1MgN1",  "1MgN2",  "1MgO0",  "1MgO1",  "1MgP0",
		  "1MgS0",  "1MgSe",  "1MgSi",  "1MgTe",  "1MnMn",  "1MnN0",  "1MnN1",  "1MnN2",
		  "1MnO0",  "1MnO1",  "1MnOs",  "1MnP0",  "1MnP1",  "1MnPd",  "1MnPt",  "1MnRe",
		  "1MnRh",  "1MnRu",  "1MnS0",  "1MnS1",  "1MnS2",  "1MnSb",  "1MnSe",  "1MnSi",
		  "1MnSn",  "1MnTe",  "1MnTi",  "1MnTl",  "1MnZn",  "1MoMo",  "1MoN0",  "1MoN1",
		  "1MoN2",  "1MoO0",  "1MoO1",  "1MoO2",  "1MoOs",  "1MoP0",  "1MoP1",  "1MoP2",
		  "1MoPd",  "1MoPt",  "1MoRe",  "1MoRu",  "1MoS0",  "1MoS1",  "1MoS2",  "1MoSb",
		  "1MoSe",  "1MoSi",  "1MoSn",  "1MoTe",  "1N0N0",  "1N0N1",  "1N0N2",  "1N0Na",
		  "1N0Nb",  "1N0Nd",  "1N0Ni",  "1N0O0",  "1N0Os",  "1N0P0",  "1N0P1",  "1N0P2",
		  "1N0Pb",  "1N0Pd",  "1N0Pr",  "1N0Pt",  "1N0Rb",  "1N0Re",  "1N0Rh",  "1N0Ru",
		  "1N0S0",  "1N0S1",  "1N0S2",  "1N0S3",  "1N0Sb",  "1N0Sc",  "1N0Se",  "1N0Si",
		  "1N0Sm",  "1N0Sn",  "1N0Sr",  "1N0Ta",  "1N0Tb",  "1N0Te",  "1N0Th",  "1N0Ti",
		  "1N0Tl",  "1N0Tm",   "1N0U",   "1N0V",   "1N0W",   "1N0Y",  "1N0Yb",  "1N0Zn",
		  "1N0Zr",  "1N1N1",  "1N1N2",  "1N1Na",  "1N1Nb",  "1N1Nd",  "1N1Ni",  "1N1O0",
		  "1N1O1",  "1N1Os",  "1N1P0",  "1N1P1",  "1N1P2",  "1N1Pb",  "1N1Pd",  "1N1Pr",
		  "1N1Pt",  "1N1Rb",  "1N1Re",  "1N1Rh",  "1N1Ru",  "1N1S0",  "1N1S1",  "1N1S2",
		  "1N1Sb",  "1N1Sc",  "1N1Se",  "1N1Si",  "1N1Sm",  "1N1Sn",  "1N1Sr",  "1N1Ta",
		  "1N1Te",  "1N1Th",  "1N1Ti",  "1N1Tl",  "1N1Tm",   "1N1U",   "1N1V",   "1N1W",
		   "1N1Y",  "1N1Yb",  "1N1Zn",  "1N1Zr",  "1N2Na",  "1N2Nb",  "1N2Nd",  "1N2Ni",
		  "1N2O0",  "1N2Os",  "1N2Pb",  "1N2Pd",  "1N2Pt",  "1N2Re",  "1N2Rh",  "1N2Ru",
		  "1N2S0",  "1N2Sb",  "1N2Sc",  "1N2Si",  "1N2Sn",  "1N2Ta",  "1N2Tb",  "1N2Ti",
		  "1N2Tl",   "1N2V",   "1N2W",   "1N2Y",  "1N2Yb",  "1N2Zn",  "1N2Zr",  "1NaNa",
		  "1NaO0",  "1NaO1",  "1NaO2",  "1NaP0",  "1NaP1",  "1NaPd",  "1NaS0",  "1NaS1",
		  "1NaSb",  "1NaSe",  "1NaSi",  "1NaSm",  "1NaSn",  "1NbNb",  "1NbO0",  "1NbO1",
		  "1NbO2",  "1NbP0",  "1NbS0",  "1NbS1",  "1NbSe",  "1NdNd",  "1NdO0",  "1NdP0",
		  "1NiNi",  "1NiO0",  "1NiO1",  "1NiP0",  "1NiP1",  "1NiPd",  "1NiPt",  "1NiS0",
		  "1NiS1",  "1NiS2",  "1NiSb",  "1NiSe",  "1NiSi",  "1NiSn",  "1NiTe",   "1NiW",
		  "1NpO0",  "1O0O0",  "1O0Os",  "1O0P0",  "1O0P1",  "1O0P2",  "1O0Pb",  "1O0Pd",
		  "1O0Pr",  "1O0Pt",  "1O0Rb",  "1O0Re",  "1O0Rh",  "1O0Ru",  "1O0S0",  "1O0S1",
		  "1O0S2",  "1O0S3",  "1O0Sb",  "1O0Sc",  "1O0Se",  "1O0Si",  "1O0Sm",  "1O0Sn",
		  "1O0Sr",  "1O0Ta",  "1O0Tb",  "1O0Te",  "1O0Th",  "1O0Ti",  "1O0Tl",  "1O0Tm",
		   "1O0U",   "1O0V",   "1O0W",   "1O0Y",  "1O0Yb",  "1O0Zn",  "1O0Zr",  "1O1Os",
		  "1O1P0",  "1O1P1",  "1O1Pb",  "1O1Pd",  "1O1Pr",  "1O1Pt",  "1O1Rb",  "1O1Re",
		  "1O1Rh",  "1O1Ru",  "1O1S1",  "1O1S2",  "1O1Sb",  "1O1Sc",  "1O1Se",  "1O1Si",
		  "1O1Sm",  "1O1Sn",  "1O1Sr",  "1O1Ta",  "1O1Tb",  "1O1Te",  "1O1Ti",  "1O1Tl",
		  "1O1Tm",   "1O1U",   "1O1V",   "1O1W",   "1O1Y",  "1O1Yb",  "1O1Zn",  "1O1Zr",
		   "1O2V",  "1OsOs",  "1OsP0",  "1OsP1",  "1OsPb",  "1OsPt",  "1OsRe",  "1OsRh",
		  "1OsRu",  "1OsS0",  "1OsS1",  "1OsSb",  "1OsSe",  "1OsSi",  "1OsSn",  "1OsTe",
		   "1OsW",  "1P0P0",  "1P0P1",  "1P0P2",  "1P0Pb",  "1P0Pd",  "1P0Pt",  "1P0Rb",
		  "1P0Re",  "1P0Rh",  "1P0Ru",  "1P0S0",  "1P0S1",  "1P0Sb",  "1P0Sc",  "1P0Se",
		  "1P0Si",  "1P0Sm",  "1P0Sn",  "1P0Sr",  "1P0Ta",  "1P0Te",  "1P0Th",  "1P0Ti",
		  "1P0Tl",  "1P0Tm",   "1P0U",   "1P0V",   "1P0W",   "1P0Y",  "1P0Yb",  "1P0Zn",
		  "1P0Zr",  "1P1P1",  "1P1Pd",  "1P1Pt",  "1P1Re",  "1P1Rh",  "1P1Ru",  "1P1S0",
		  "1P1Sb",  "1P1Se",  "1P1Si",  "1P1Sn",  "1P1Te",  "1P1Ti",   "1P1W",  "1P1Zn",
		  "1P2P2",  "1P2Rh",  "1P2S0",  "1P2Se",   "1P2W",  "1PbPb",  "1PbPd",  "1PbPt",
		  "1PbS0",  "1PbS1",  "1PbSe",  "1PbSi",  "1PbTe",  "1PdPd",  "1PdPt",  "1PdRh",
		  "1PdRu",  "1PdS0",  "1PdS1",  "1PdS2",  "1PdSb",  "1PdSe",  "1PdSi",  "1PdSn",
		  "1PdTe",   "1PdW",  "1PtPt",  "1PtRe",  "1PtRh",  "1PtRu",  "1PtS0",  "1PtS1",
		  "1PtS2",  "1PtSb",  "1PtSe",  "1PtSi",  "1PtSn",  "1PtTe",  "1PtTl",   "1PtW",
		  "1PtZn",  "1RbS0",  "1RbSi",  "1ReRe",  "1ReRh",  "1ReRu",  "1ReS0",  "1ReS1",
		  "1ReS2",  "1ReSb",  "1ReSe",  "1ReSi",  "1ReSn",  "1ReTe",  "1RhRh",  "1RhRu",
		  "1RhS0",  "1RhS1",  "1RhS2",  "1RhSb",  "1RhSe",  "1RhSi",  "1RhSn",  "1RhTe",
		  "1RhZn",  "1RuRu",  "1RuS0",  "1RuS1",  "1RuS2",  "1RuSb",  "1RuSe",  "1RuSi",
		  "1RuSn",  "1RuTe",  "1RuZn",  "1S0S0",  "1S0S1",  "1S0S2",  "1S0Sb",  "1S0Se",
		  "1S0Si",  "1S0Sm",  "1S0Sn",  "1S0Sr",  "1S0Ta",  "1S0Te",  "1S0Ti",  "1S0Tl",
		   "1S0U",   "1S0V",   "1S0W",   "1S0Y",  "1S0Yb",  "1S0Zn",  "1S0Zr",  "1S1S1",
		  "1S1Sb",  "1S1Se",  "1S1Sn",  "1S1Te",  "1S1Ti",  "1S1Tl",   "1S1V",   "1S1W",
		  "1S1Zn",  "1S2S2",  "1S2Se",  "1SbSb",  "1SbSe",  "1SbSi",  "1SbSn",  "1SbTe",
		   "1SbW",  "1SeSe",  "1SeSi",  "1SeSn",  "1SeSr",  "1SeTe",  "1SeTi",  "1SeTl",
		   "1SeV",   "1SeW",  "1SeYb",  "1SeZn",  "1SeZr",  "1SiSi",  "1SiSn",  "1SiTa",
		  "1SiTe",  "1SiTi",  "1SiTl",   "1SiW",  "1SiZn",  "1SiZr",  "1SnSn",  "1SnTe",
		  "1SnTl",   "1SnW",  "1SnYb",  "1TaTa",  "1TaZn",  "1TeTe",  "1TeTi",   "1TeV",
		   "1TeW",  "1TeZn",  "1TeZr",  "1TiTi",  "1TlTl",    "1VV",    "1WW",   "1WYb",
		  "1ZnZn",  "2AgBr",  "2AgC1",  "2AgCl",   "2AgI",  "2AgO1",  "2AgS1",  "2AlAl",
		  "2AlC1",  "2AlN1",  "2AlO1",  "2AsAs",  "2AsB1",  "2AsC1",  "2AsCr",  "2AsN1",
		  "2AsN2",  "2AsO1",  "2AsO2",  "2AsP1",  "2AsS1",  "2AsSe",  "2AsSi",  "2AsTa",
		   "2AsW",  "2AuC1",  "2AuN1",  "2AuS1",  "2AuS2",  "2B1B1",  "2B1C1",   "2B1F",
		  "2B1N1",  "2B1N2",  "2B1O1",  "2B1O2",  "2B1Os",  "2B1P1",  "2B1S2",  "2B2Cr",
		   "2B2W",  "2BiBi",  "2BiC1",  "2BiN1",  "2BiO1",  "2BiS1",  "2BrCd",  "2BrCu",
		  "2BrHg",  "2BrO1",  "2BrSn",  "2C1C1",  "2C1C2",  "2C1C3",  "2C1Cd",  "2C1Co",
		  "2C1Cr",  "2C1Cu",  "2C1Fe",  "2C1Ge",  "2C1Hf",  "2C1Hg",   "2C1I",  "2C1In",
		  "2C1Ir",   "2C1K",  "2C1Mn",  "2C1Mo",  "2C1N1",  "2C1N2",  "2C1Nb",  "2C1Ni",
		  "2C1O1",  "2C1O2",  "2C1Os",  "2C1P1",  "2C1P2",  "2C1Pb",  "2C1Pd",  "2C1Pt",
		  "2C1Re",  "2C1Rh",  "2C1Ru",  "2C1S1",  "2C1S2",  "2C1S3",  "2C1Sb",  "2C1Se",
		  "2C1Si",  "2C1Sn",  "2C1Ta",  "2C1Te",  "2C1Ti",   "2C1V",   "2C1W",   "2C1Y",
		  "2C1Zn",  "2C1Zr",  "2C2C2",  "2C2C3",  "2C2Co",  "2C2Cr",  "2C2Fe",  "2C2Ge",
		  "2C2Ir",  "2C2Mn",  "2C2Mo",  "2C2N1",  "2C2N2",  "2C2Nb",  "2C2O1",  "2C2Os",
		  "2C2P1",  "2C2Pd",  "2C2Pt",  "2C2Re",  "2C2Rh",  "2C2Ru",  "2C2S1",  "2C2S2",
		  "2C2Se",  "2C2Si",  "2C2Sn",  "2C2Ta",   "2C2W",  "2C3Co",  "2C3Hg",  "2C3Mo",
		  "2C3N1",  "2C3Ni",  "2C3Re",  "2CaN1",  "2CdCl",  "2CdN1",  "2CdS1",  "2ClCu",
		  "2ClHg",  "2ClIr",  "2ClMn",  "2ClNi",  "2ClO1",  "2ClPd",  "2ClPt",  "2ClRu",
		  "2ClSn",  "2ClZn",  "2CoCo",  "2CoN1",  "2CoN2",  "2CoO1",  "2CoP1",  "2CoS1",
		  "2CoS2",  "2CrGe",  "2CrN1",  "2CrO1",  "2CrS1",  "2CrSb",  "2CrSi",  "2CrSn",
		  "2CrTl",  "2CuCu",  "2CuN1",  "2CuN2",  "2CuO1",  "2CuO2",  "2CuS1",  "2ErO1",
		  "2EuN2",   "2FFe",  "2FeFe",  "2FeGe",  "2FeN1",  "2FeN2",  "2FeO1",  "2FeP1",
		  "2FeS1",  "2FeSi",  "2FeSn",  "2GaN1",  "2GaO1",  "2GaO2",  "2GaS1",  "2GaSe",
		  "2GaTe",  "2GeGe",  "2GeN1",  "2GeN2",  "2GeO1",  "2GeP1",  "2GeS1",  "2GeSe",
		  "2GeTe",   "2GeW",  "2HfN1",  "2HfP1",  "2HgO1",  "2HgS1",   "2IN1",   "2IO1",
		   "2ISb",  "2InO1",  "2InSe",  "2IrIr",  "2IrO1",  "2IrS1",  "2LiN1",  "2LiSi",
		  "2MnN1",  "2MnO1",  "2MoMo",  "2MoN1",  "2MoN2",  "2MoO1",  "2MoP1",  "2MoP2",
		  "2MoS1",  "2MoSe",  "2MoTe",  "2N1N1",  "2N1N2",  "2N1N3",  "2N1Nb",  "2N1Ni",
		  "2N1O1",  "2N1Os",  "2N1P1",  "2N1P2",  "2N1Pt",  "2N1Re",  "2N1Ru",  "2N1S1",
		  "2N1S2",  "2N1S3",  "2N1Sb",  "2N1Se",  "2N1Si",  "2N1Sn",  "2N1Ta",  "2N1Te",
		  "2N1Ti",   "2N1U",   "2N1V",   "2N1W",  "2N1Yb",  "2N1Zn",  "2N1Zr",  "2N2Nb",
		  "2N2Ni",  "2N2O1",  "2N2Os",  "2N2P1",  "2N2Re",  "2N2Ru",  "2N2S1",  "2N2S4",
		  "2N2Se",  "2N2Ta",  "2N2Ti",   "2N2U",   "2N2V",   "2N2W",   "2N2Y",  "2N2Yb",
		  "2N3O1",  "2N3Re",  "2NaO1",  "2NaSn",  "2NbNb",  "2NbO1",  "2NbS1",  "2NbSe",
		  "2NiNi",  "2NiO1",  "2NiO2",  "2NiP1",  "2NiS1",  "2NiS2",  "2NiSe",  "2NiSi",
		  "2NpO1",  "2O1Os",  "2O1P1",  "2O1P2",  "2O1Pa",  "2O1Pd",  "2O1Pt",  "2O1Re",
		  "2O1Rh",  "2O1Ru",  "2O1S1",  "2O1S2",  "2O1S3",  "2O1S4",  "2O1Sb",  "2O1Se",
		  "2O1Si",  "2O1Sm",  "2O1Sn",  "2O1Ta",  "2O1Te",  "2O1Ti",   "2O1U",   "2O1V",
		   "2O1W",  "2O1Zn",  "2O2P1",  "2O2Sb",  "2O2Si",  "2O2Te",  "2O2Ti",  "2O2Zn",
		  "2OsOs",  "2OsS1",  "2OsSi",  "2P1P1",  "2P1P2",  "2P1Pt",  "2P1Re",  "2P1S1",
		  "2P1S4",  "2P1Sb",  "2P1Se",  "2P1Si",  "2P1Ta",  "2P1Te",  "2P2S1",  "2P2Se",
		  "2PbPb",  "2PbS1",  "2PdPd",  "2PdRe",  "2PdS1",  "2PdSn",  "2PtPt",  "2PtS1",
		  "2PtSi",  "2PtSn",  "2ReRe",  "2ReS1",  "2RhRh",  "2RuRu",  "2RuS2",  "2RuS3",
		  "2RuSi",  "2S1S1",  "2S1S2",  "2S1S4",  "2S1Sb",  "2S1Si",  "2S1Ta",  "2S1Te",
		  "2S1Ti",   "2S1V",   "2S1W",  "2S1Zn",  "2S1Zr",  "2S2Se",  "2SbSb",  "2SbSe",
		  "2SeSn",  "2SeTa",  "2SeTe",   "2SeV",   "2SeW",  "2SiSi",  "2SnSn",  "2SnTe",
		   "2SnW",  "2TaTa",  "2TaTe",  "2TeTe",   "2TeW",    "2WW",  "3AsMo",   "3AsW",
		  "3B2N2",  "3C2C2",  "3C2Cr",  "3C2Mo",  "3C2N2",  "3C2N3",  "3C2Nb",  "3C2O2",
		  "3C2Os",  "3C2P2",  "3C2Re",  "3C2Ru",  "3C2S2",  "3C2Se",  "3C2Ta",   "3C2V",
		   "3C2W",  "3C3C3",  "3C3Cr",  "3C3N2",  "3C4Pd",  "3CrCr",  "3CrN2",  "3CrO2",
		  "3FeGa",   "3GeW",  "3MnN2",  "3MnO2",  "3MoMo",  "3MoN2",  "3MoO2",   "3MoW",
		  "3N2N2",  "3N2Nb",  "3N2Os",  "3N2P2",  "3N2Re",  "3N2Ru",  "3N2S2",  "3N2Se",
		  "3N2Sm",  "3N2Ta",  "3N2Ti",   "3N2V",   "3N2W",   "3N2Y",  "3N2Yb",  "3N3Re",
		  "3NbNb",  "3NbO2",  "3O2Re",   "3O2V",   "3O2W",  "3OsOs",   "3P2W",  "3ReRe",
		  "3RuRu",   "3TeW",    "3WW", "a1AsC1", "a1AsN0", "a1B1N0", "a1BrC1", "a1C0C0",
		 "a1C0C1", "a1C0N0", "a1C1C1", "a1C1C2", "a1C1Cl", "a1C1Fe", "a1C1Ir", "a1C1N0",
		 "a1C1N1", "a1C1O0", "a1C1O1", "a1C1P1", "a1C1Pt", "a1C1Re", "a1C1Ru", "a1C1S0",
		 "a1C1S1", "a1C2N0", "a1C2S0", "a1CoN0", "a1CoN1", "a1CoS0", "a1CrN0", "a1CrN1",
		 "a1CrO0", "a1CrO1", "a1CuN1", "a1FeN0", "a1FeN1", "a1FeO0", "a1FeO1", "a1HgN1",
		 "a1IrN0", "a1IrN1", "a1MnO0", "a1MnS1", "a1MoN0", "a1MoN1", "a1MoO0", "a1MoS0",
		 "a1N0N0", "a1N0N1", "a1N0Ni", "a1N0O1", "a1N0Os", "a1N0P0", "a1N0P1", "a1N0Rh",
		 "a1N0Ru", "a1N0S0", "a1N0S1", "a1N0S2", "a1N0Se", "a1N0Te", "a1N0Ti",  "a1N0W",
		 "a1N1N1", "a1N1Ni", "a1N1O0", "a1N1Os", "a1N1P1", "a1N1Re", "a1N1Rh", "a1N1Ru",
		 "a1N1S0", "a1N1S1", "a1N1Se",  "a1N1W", "a1NbO0", "a1NiO0", "a1NiS0", "a1NiS1",
		 "a1O0Os", "a1O0Re", "a1O0Rh", "a1O0Ru", "a1O0S1", "a1O0Se", "a1O0Te", "a1O0Ti",
		  "a1O0W", "a1O1Os", "a1O1Rh", "a1O1Ru",  "a1O1V", "a1P0P0", "a1P0Rh", "a1P1S0",
		 "a1ReRe", "a1ReS0", "a1RhS1", "a1RuS0", "a1RuS1", "a1S0S1", "a1S0Se",  "a1S0W",
		 "a1S1Ti", "a1S1Zn", "a2AsC1", "a2AsS1", "a2B1N1", "a2C1C1", "a2C1C2", "a2C1Cr",
		 "a2C1Fe", "a2C1Ir", "a2C1Mn", "a2C1Mo", "a2C1N1", "a2C1Nb", "a2C1O1", "a2C1P1",
		 "a2C1Pt", "a2C1Re", "a2C1Rh", "a2C1Ru", "a2C1S1", "a2C1Se", "a2C1Te",  "a2C1W",
		 "a2C2N1", "a2C2O1", "a2C2S1", "a2CoCo", "a2CoO1", "a2CoS1", "a2CrCr", "a2FeN1",
		 "a2FeO1", "a2FeS1", "a2HgO1", "a2IrIr", "a2MoMo", "a2MoS1", "a2N1N1", "a2N1O1",
		 "a2N1P1", "a2N1S1", "a2N1S2", "a2N1Se", "a2N1Te", "a2N1Ti",  "a2N1V", "a2NiS1",
		  "a2O1V", "a2OsOs", "a2P1P1", "a2P1S1", "a2ReS1", "a2RhRh", "a2RuRu", "a2RuS1",
		 "a2S1S1",  "a2S1W", "a2S1Zn", "a2SeSe", "a3CrCr", "a3MoMo", "a3OsOs", "a3ReRe",
		 "a3RhRh", "a3RuRu",   "a3WW",  "dAgBr",  "dAgCl",  "dAlN1",  "dAsC1",  "dAsN1",
		  "dB1B1",  "dB1C1",  "dB1N1",  "dB1O1",  "dB1P1",  "dB2C1",  "dB2N2",  "dC0C1",
		  "dC0N1",  "dC1C1",  "dC1C2",   "dC1I",  "dC1Ir",  "dC1N1",  "dC1N2",  "dC1O1",
		  "dC1Os",  "dC1P1",  "dC1S1",  "dC1S2",  "dC1S3",  "dC1Se",  "dC1Si",  "dC1Ta",
		  "dC1Te",   "dC1W",  "dC2C2",  "dC2N1",  "dC2O1",  "dC2Os",  "dCaN1",  "dCoN1",
		  "dCoO1",  "dCrN1",  "dCrO1",  "dCuN1",  "dCuO1",  "dErO1",  "dFeN1",  "dFeO1",
		  "dFeS1",  "dIrS1",  "dMnN1",  "dMnO1",  "dMoN1",  "dN1N1",  "dN1Nb",  "dN1Ni",
		  "dN1P1",  "dN1Pd",  "dN1Re",  "dN1S1",  "dN1S2",  "dN1Se",  "dN1Ta",   "dN1V",
		   "dN1W",  "dN1Zn",  "dN2Re",  "dNaO1",  "dNiO1",  "dNiS1",  "dO1Pd",  "dO1Re",
		   "dO1V",   "dO1W",  "dO1Zn",   "dP1W",  "dWW" };
	private static final float[] BOND_LENGTH = {
				3.046f, 2.587f, 2.872f, 2.451f, 2.738f, 2.184f, 2.370f, 2.134f,
				2.631f, 2.614f, 2.977f, 2.603f, 2.606f, 2.417f, 2.053f, 2.828f,
				2.876f, 2.709f, 2.755f, 2.967f, 2.292f, 2.295f, 2.288f, 2.507f,
				2.487f, 2.711f, 2.452f, 2.401f, 3.144f, 2.847f, 2.932f, 2.578f,
				2.592f, 2.727f, 2.637f, 3.069f, 2.598f, 2.851f, 3.007f, 2.666f,
				2.513f, 2.227f, 2.816f, 2.316f, 1.978f, 1.993f, 2.005f, 3.254f,
				2.143f, 2.482f, 1.767f, 2.480f, 1.564f, 2.544f, 2.411f, 2.787f,
				2.839f, 2.780f, 2.572f, 1.954f, 1.975f, 1.997f, 1.832f, 1.917f,
				2.453f, 2.452f, 2.328f, 2.371f, 2.761f, 2.386f, 2.481f, 2.782f,
				2.610f, 2.658f, 2.441f, 2.428f, 2.120f, 3.284f, 2.887f, 2.675f,
				1.956f, 1.926f, 1.927f, 2.997f, 2.585f, 2.396f, 2.335f, 2.442f,
				2.399f, 1.694f, 2.376f, 2.508f, 2.458f, 1.366f, 2.500f, 2.880f,
				2.707f, 2.449f, 2.649f, 2.610f, 2.469f, 2.583f, 1.877f, 1.944f,
				1.955f, 2.370f, 1.759f, 2.095f, 2.467f, 2.333f, 2.326f, 2.407f,
				2.399f, 2.549f, 2.430f, 2.433f, 2.249f, 2.532f, 2.391f, 2.350f,
				3.061f, 2.678f, 3.223f, 2.576f, 2.686f, 2.617f, 2.434f, 3.028f,
				2.341f, 2.469f, 2.098f, 2.046f, 1.979f, 2.309f, 2.503f, 2.640f,
				2.550f, 2.425f, 2.171f, 3.046f, 2.687f, 2.877f, 2.845f, 2.870f,
				2.703f, 2.832f, 2.057f, 2.066f, 1.992f, 2.805f, 2.074f, 2.706f,
				2.288f, 2.322f, 3.175f, 2.745f, 2.755f, 2.824f, 2.339f, 2.317f,
				2.570f, 2.643f, 2.474f, 2.345f, 2.723f, 2.586f, 3.033f, 2.820f,
				1.776f, 1.841f, 1.978f, 1.670f, 1.610f, 1.568f, 2.414f, 1.829f,
				2.069f, 2.207f, 1.353f, 2.100f, 2.185f, 2.193f, 1.125f, 2.355f,
				2.169f, 2.347f, 2.187f, 2.340f, 2.398f, 2.108f, 2.229f, 1.499f,
				1.564f, 1.563f, 2.499f, 2.086f, 1.430f, 1.531f, 2.213f, 1.953f,
				1.895f, 2.244f, 2.208f, 2.241f, 2.172f, 2.209f, 1.886f, 1.887f,
				2.262f, 2.050f, 2.054f, 2.399f, 2.673f, 2.454f, 2.755f, 2.564f,
				2.057f, 2.445f, 2.411f, 2.288f, 2.362f, 1.729f, 1.597f, 1.588f,
				1.587f, 1.812f, 1.356f, 1.116f, 2.390f, 1.460f, 1.501f, 1.444f,
				1.939f, 1.956f, 1.920f, 2.303f, 1.519f, 1.393f, 1.976f, 3.050f,
				3.478f, 2.751f, 2.764f, 2.682f, 2.593f, 3.254f, 2.154f, 1.838f,
				1.772f, 1.870f, 1.953f, 1.542f, 1.437f, 1.718f, 1.733f, 1.711f,
				1.610f, 1.612f, 2.125f, 2.067f, 2.391f, 2.988f, 2.890f, 2.255f,
				2.234f, 2.190f, 2.692f, 2.809f, 2.741f, 2.176f, 2.713f, 3.135f,
				2.738f, 3.105f, 2.876f, 2.867f, 2.406f, 2.495f, 2.346f, 2.426f,
				2.802f, 2.827f, 2.796f, 2.759f, 2.704f, 2.770f, 2.894f, 2.647f,
				2.955f, 2.829f, 2.567f, 1.955f, 1.894f, 1.793f, 2.877f, 2.656f,
				3.115f, 2.611f, 2.447f, 2.605f, 2.478f, 1.816f, 2.408f, 2.367f,
				2.798f, 2.389f, 1.377f, 2.686f, 2.816f, 2.577f, 2.537f, 2.581f,
				2.597f, 2.557f, 2.560f, 1.939f, 2.059f, 2.787f, 2.495f, 2.452f,
				1.871f, 2.513f, 2.340f, 2.230f, 2.948f, 2.480f, 2.479f, 2.567f,
				2.528f, 2.540f, 2.253f, 2.498f, 2.762f, 2.612f, 2.291f, 2.943f,
				2.607f, 2.553f, 2.757f, 2.448f, 2.597f, 2.777f, 2.551f, 2.578f,
				2.926f, 2.694f, 2.397f, 2.606f, 1.525f, 1.510f, 1.464f, 2.573f,
				2.194f, 1.758f, 1.983f, 2.142f, 3.426f, 2.005f, 2.641f, 2.624f,
				2.608f, 1.329f, 2.054f, 1.980f, 1.970f, 0.988f, 2.275f, 2.097f,
				2.562f, 2.155f, 2.180f, 2.140f, 2.981f, 2.565f, 2.259f, 2.468f,
				2.216f, 2.173f, 2.158f, 1.473f, 1.477f, 1.430f, 2.603f, 2.193f,
				2.639f, 1.970f, 1.431f, 1.422f, 2.141f, 1.841f, 1.816f, 1.823f,
				2.291f, 2.069f, 2.077f, 3.423f, 2.163f, 2.086f, 2.125f, 1.816f,
				1.789f, 1.786f, 2.151f, 2.241f, 1.963f, 1.871f, 2.547f, 2.148f,
				2.153f, 2.150f, 2.552f, 2.115f, 2.138f, 2.510f, 2.097f, 2.165f,
				2.516f, 2.483f, 2.001f, 2.289f, 1.467f, 1.434f, 2.161f, 1.728f,
				1.921f, 2.117f, 2.052f, 2.431f, 2.614f, 1.346f, 1.988f, 1.990f,
				1.963f, 0.973f, 2.275f, 2.072f, 2.095f, 2.178f, 2.064f, 3.105f,
				2.247f, 2.390f, 2.186f, 2.059f, 2.186f, 1.372f, 1.425f, 1.405f,
				2.684f, 2.109f, 2.691f, 1.924f, 1.348f, 1.337f, 2.086f, 1.815f,
				1.804f, 1.807f, 2.210f, 2.016f, 2.041f, 3.366f, 2.136f, 2.062f,
				2.075f, 1.754f, 1.781f, 1.762f, 1.761f, 2.131f, 2.250f, 1.908f,
				1.879f, 2.500f, 2.144f, 2.164f, 2.124f, 2.081f, 2.144f, 2.419f,
				2.673f, 2.136f, 2.145f, 2.614f, 2.536f, 2.031f, 2.332f, 1.377f,
				2.201f, 2.809f, 1.634f, 1.796f, 1.886f, 1.935f, 1.796f, 2.142f,
				1.914f, 0.965f, 2.264f, 2.056f, 2.016f, 2.306f, 1.873f, 2.309f,
				2.202f, 1.827f, 1.998f, 1.323f, 1.330f, 2.773f, 2.141f, 1.844f,
				1.279f, 1.908f, 1.774f, 1.794f, 1.973f, 1.962f, 1.943f, 1.864f,
				1.903f, 1.674f, 1.666f, 1.711f, 2.130f, 1.814f, 1.840f, 2.104f,
				2.101f, 2.068f, 2.213f, 2.211f, 2.468f, 2.017f, 2.014f, 2.448f,
				2.676f, 1.993f, 2.323f, 2.164f, 2.744f, 3.125f, 2.394f, 2.445f,
				2.403f, 2.355f, 2.303f, 2.944f, 2.834f, 3.272f, 3.196f, 2.980f,
				2.562f, 2.573f, 2.630f, 2.306f, 2.790f, 2.784f, 2.691f, 2.355f,
				2.346f, 2.358f, 2.327f, 2.328f, 2.590f, 2.624f, 2.738f, 2.570f,
				2.605f, 2.744f, 2.822f, 2.650f, 2.535f, 2.832f, 2.716f, 3.129f,
				2.344f, 2.251f, 2.348f, 2.440f, 2.296f, 2.355f, 2.353f, 2.632f,
				2.599f, 2.654f, 1.789f, 2.270f, 2.208f, 2.696f, 2.200f, 1.307f,
				2.433f, 2.539f, 2.621f, 2.561f, 2.454f, 2.410f, 3.089f, 2.753f,
				2.381f, 2.627f, 2.457f, 2.436f, 2.408f, 1.725f, 1.737f, 2.817f,
				2.388f, 2.848f, 2.349f, 2.633f, 1.402f, 2.380f, 2.092f, 2.004f,
				2.265f, 2.591f, 2.797f, 2.337f, 2.734f, 2.330f, 2.393f, 2.395f,
				2.416f, 2.293f, 2.237f, 2.063f, 2.429f, 2.444f, 2.452f, 2.069f,
				2.746f, 2.458f, 2.385f, 2.647f, 2.559f, 2.697f, 2.334f, 2.534f,
				2.579f, 2.641f, 2.357f, 2.402f, 2.644f, 2.581f, 2.276f, 2.483f,
				2.490f, 2.443f, 2.026f, 2.563f, 2.505f, 2.376f, 1.580f, 2.561f,
				2.614f, 2.605f, 2.772f, 2.887f, 1.982f, 1.982f, 2.023f, 2.001f,
				2.032f, 2.223f, 2.258f, 2.750f, 2.633f, 2.568f, 2.893f, 2.706f,
				2.733f, 2.277f, 2.301f, 2.206f, 2.221f, 2.574f, 2.363f, 2.294f,
				2.579f, 2.527f, 2.560f, 2.657f, 2.889f, 2.661f, 2.650f, 1.904f,
				2.941f, 2.467f, 2.437f, 1.770f, 2.801f, 2.597f, 2.070f, 2.058f,
				2.035f, 1.941f, 1.968f, 2.974f, 2.386f, 2.320f, 2.750f, 2.808f,
				2.402f, 2.415f, 2.187f, 2.619f, 2.528f, 2.526f, 2.634f, 2.688f,
				2.681f, 3.821f, 2.936f, 3.772f, 3.912f, 3.078f, 2.915f, 3.164f,
				3.104f, 3.243f, 3.626f, 3.752f, 2.727f, 2.336f, 2.483f, 2.353f,
				1.767f, 2.689f, 2.657f, 2.955f, 2.583f, 2.464f, 2.695f, 2.040f,
				2.024f, 2.040f, 2.078f, 2.058f, 2.639f, 2.257f, 2.283f, 2.839f,
				2.692f, 2.760f, 2.850f, 2.320f, 2.349f, 2.552f, 2.443f, 2.361f,
				2.499f, 2.650f, 2.737f, 2.227f, 2.337f, 2.499f, 2.179f, 2.253f,
				2.741f, 2.236f, 2.309f, 2.267f, 2.270f, 2.777f, 3.262f, 2.384f,
				2.612f, 2.721f, 2.489f, 2.315f, 3.089f, 2.976f, 3.100f, 2.282f,
				1.963f, 1.834f, 1.791f, 0.958f, 1.985f, 2.407f, 2.004f, 2.096f,
				2.054f, 2.714f, 1.931f, 1.864f, 2.049f, 1.398f, 2.362f, 1.951f,
				1.995f, 1.940f, 1.560f, 1.537f, 2.073f, 2.034f, 2.023f, 2.266f,
				2.107f, 1.592f, 1.552f, 1.524f, 1.853f, 1.930f, 1.646f, 2.111f,
				1.884f, 1.826f, 1.903f, 2.927f, 2.034f, 2.029f, 1.945f, 2.198f,
				1.947f, 2.043f, 2.607f, 2.424f, 2.429f, 1.556f, 2.588f, 2.608f,
				2.600f, 2.625f, 2.715f, 2.781f, 2.095f, 2.042f, 1.992f, 2.501f,
				1.989f, 2.034f, 2.191f, 2.779f, 2.253f, 2.196f, 2.148f, 2.727f,
				2.692f, 2.621f, 2.873f, 2.657f, 2.708f, 2.288f, 2.362f, 2.191f,
				2.572f, 2.402f, 2.325f, 2.597f, 2.585f, 2.667f, 2.799f, 2.472f,
				2.480f, 2.458f, 1.557f, 2.592f, 2.448f, 2.589f, 2.047f, 2.033f,
				2.167f, 3.205f, 1.944f, 2.001f, 2.429f, 2.438f, 2.591f, 2.453f,
				2.323f, 2.454f, 2.759f, 2.460f, 2.437f, 2.663f, 2.319f, 2.353f,
				2.326f, 2.305f, 2.791f, 2.514f, 1.490f, 2.526f, 2.595f, 2.962f,
				2.422f, 2.699f, 2.718f, 2.484f, 2.557f, 1.927f, 1.996f, 1.936f,
				2.974f, 2.283f, 1.823f, 2.111f, 2.589f, 2.358f, 2.278f, 2.647f,
				2.387f, 2.442f, 2.355f, 2.475f, 2.241f, 2.630f, 2.367f, 2.417f,
				2.636f, 2.579f, 2.653f, 2.602f, 3.832f, 1.985f, 1.831f, 1.617f,
				2.004f, 2.184f, 1.693f, 1.864f, 0.919f, 0.917f, 0.907f, 2.611f,
				1.764f, 1.563f, 0.907f, 1.046f, 1.677f, 1.327f, 1.330f, 1.749f,
				1.697f, 1.798f, 1.610f, 1.654f, 1.194f, 1.675f, 1.159f, 1.402f,
				1.715f, 1.973f, 1.874f, 1.849f, 1.834f, 2.240f, 2.141f, 1.915f,
				2.058f, 2.821f, 2.164f, 2.234f, 2.307f, 2.070f, 2.122f, 2.753f,
				2.517f, 2.497f, 2.806f, 2.717f, 3.046f, 2.830f, 3.021f, 2.590f,
				2.573f, 2.619f, 2.237f, 2.395f, 2.815f, 2.642f, 2.458f, 2.589f,
				2.665f, 2.474f, 2.395f, 3.008f, 2.778f, 2.701f, 2.631f, 2.680f,
				2.533f, 2.550f, 2.649f, 2.496f, 2.784f, 2.360f, 2.932f, 2.763f,
				2.746f, 2.818f, 2.772f, 2.729f, 2.776f, 2.166f, 2.229f, 3.037f,
				2.684f, 3.047f, 2.669f, 2.126f, 2.704f, 2.428f, 2.435f, 2.394f,
				3.246f, 2.639f, 2.669f, 2.751f, 2.702f, 2.739f, 2.797f, 2.668f,
				3.251f, 3.072f, 2.716f, 2.483f, 3.305f, 2.933f, 3.271f, 2.976f,
				3.125f, 2.727f, 2.729f, 3.022f, 3.015f, 2.768f, 2.830f, 3.287f,
				3.063f, 2.576f, 2.784f, 2.956f, 2.601f, 2.665f, 2.722f, 2.270f,
				2.302f, 2.431f, 2.196f, 2.204f, 2.650f, 2.486f, 2.601f, 2.808f,
				2.518f, 2.587f, 2.879f, 2.620f, 2.674f, 3.119f, 2.806f, 2.775f,
				2.750f, 2.107f, 2.070f, 2.053f, 2.092f, 2.159f, 2.860f, 2.328f,
				2.252f, 2.843f, 2.653f, 2.674f, 2.914f, 2.781f, 2.819f, 2.384f,
				2.378f, 2.452f, 2.584f, 2.370f, 2.654f, 2.656f, 2.969f, 2.863f,
				2.805f, 2.862f, 2.782f, 2.683f, 3.314f, 3.179f, 3.246f, 3.353f,
				3.394f, 2.402f, 2.375f, 2.393f, 2.928f, 2.462f, 2.078f, 2.060f,
				2.050f, 2.490f, 1.973f, 1.951f, 1.951f, 2.579f, 2.468f, 2.848f,
				2.610f, 2.758f, 2.496f, 2.531f, 3.204f, 2.572f, 2.656f, 2.893f,
				2.805f, 2.638f, 2.849f, 2.453f, 2.325f, 2.284f, 2.232f, 2.152f,
				2.692f, 2.822f, 2.129f, 2.136f, 2.162f, 2.066f, 2.042f, 2.575f,
				2.506f, 2.477f, 2.644f, 2.717f, 2.788f, 2.139f, 2.151f, 2.221f,
				2.059f, 2.116f, 2.870f, 2.338f, 2.336f, 2.750f, 2.731f, 2.975f,
				2.885f, 2.968f, 2.421f, 2.504f, 2.295f, 2.537f, 2.528f, 2.506f,
				2.666f, 2.683f, 2.684f, 2.649f, 2.728f, 2.515f, 2.150f, 2.172f,
				2.170f, 2.035f, 2.177f, 2.256f, 2.239f, 2.508f, 2.456f, 2.232f,
				2.722f, 2.711f, 3.087f, 2.196f, 2.393f, 2.507f, 2.264f, 2.756f,
				2.429f, 2.613f, 2.762f, 2.701f, 1.418f, 1.375f, 1.213f, 2.512f,
				2.050f, 2.347f, 2.042f, 1.390f, 2.093f, 1.695f, 1.656f, 1.786f,
				2.513f, 2.064f, 2.691f, 2.052f, 2.977f, 2.114f, 2.085f, 2.114f,
				1.681f, 1.659f, 1.642f, 1.878f, 2.138f, 2.207f, 1.860f, 1.746f,
				2.424f, 2.203f, 2.604f, 2.081f, 2.238f, 2.072f, 2.413f, 2.052f,
				2.495f, 2.187f, 2.317f, 2.104f, 2.076f, 2.303f, 2.327f, 2.110f,
				2.142f, 1.388f, 1.277f, 2.456f, 2.206f, 2.495f, 2.017f, 1.248f,
				1.373f, 2.074f, 1.731f, 1.598f, 1.881f, 2.534f, 2.050f, 2.436f,
				2.051f, 3.018f, 2.116f, 2.057f, 2.062f, 1.645f, 1.643f, 1.614f,
				2.314f, 2.206f, 1.847f, 1.796f, 2.541f, 2.312f, 2.621f, 2.200f,
				2.177f, 2.662f, 2.143f, 2.551f, 2.442f, 2.490f, 2.113f, 2.180f,
				2.407f, 2.397f, 2.088f, 2.277f, 2.455f, 2.324f, 2.658f, 2.072f,
				1.232f, 2.036f, 2.731f, 2.044f, 1.999f, 2.086f, 2.067f, 2.055f,
				1.652f, 2.329f, 2.292f, 1.795f, 2.360f, 2.235f, 2.522f, 2.213f,
				2.938f, 2.107f, 2.137f, 2.471f, 2.347f, 2.087f, 2.336f, 3.075f,
				2.388f, 2.320f, 2.360f, 2.885f, 2.962f, 2.977f, 2.884f, 2.750f,
				3.316f, 3.176f, 3.013f, 3.609f, 3.098f, 2.679f, 1.997f, 2.155f,
				1.920f, 2.606f, 2.426f, 2.616f, 2.501f, 3.817f, 2.314f, 2.929f,
				2.585f, 2.046f, 2.034f, 2.205f, 2.187f, 2.609f, 2.570f, 2.233f,
				2.305f, 2.116f, 2.452f, 2.347f, 2.219f, 2.462f, 2.580f, 2.772f,
				2.274f, 1.468f, 2.018f, 1.641f, 1.567f, 1.594f, 2.448f, 2.060f,
				2.336f, 2.064f, 2.922f, 2.014f, 2.076f, 2.085f, 1.639f, 1.596f,
				1.498f, 1.440f, 2.076f, 2.104f, 1.758f, 1.636f, 2.368f, 2.136f,
				2.511f, 1.958f, 2.316f, 2.013f, 2.282f, 1.934f, 2.583f, 2.316f,
				2.196f, 1.951f, 1.980f, 2.263f, 2.300f, 2.058f, 2.096f, 2.098f,
				1.967f, 1.902f, 2.524f, 2.072f, 2.355f, 2.054f, 2.884f, 2.129f,
				2.087f, 2.100f, 1.872f, 1.461f, 2.278f, 2.084f, 1.982f, 1.899f,
				2.310f, 2.285f, 2.453f, 2.091f, 2.252f, 2.304f, 2.072f, 2.549f,
				2.193f, 2.249f, 2.057f, 2.193f, 2.231f, 2.271f, 2.097f, 2.120f,
				1.824f, 2.883f, 2.372f, 2.382f, 2.835f, 2.684f, 2.979f, 2.840f,
				2.994f, 2.398f, 2.386f, 2.641f, 2.557f, 2.372f, 2.739f, 2.703f,
				2.971f, 2.214f, 2.220f, 2.418f, 2.747f, 2.290f, 2.282f, 3.498f,
				2.447f, 2.303f, 2.340f, 2.110f, 1.972f, 2.555f, 2.669f, 2.228f,
				2.252f, 3.075f, 2.613f, 3.083f, 2.594f, 2.466f, 3.168f, 2.603f,
				2.891f, 2.707f, 3.014f, 2.514f, 2.502f, 3.045f, 2.988f, 2.396f,
				2.784f, 2.244f, 2.265f, 2.313f, 2.415f, 2.266f, 2.344f, 2.075f,
				2.530f, 2.234f, 2.273f, 2.549f, 2.379f, 2.400f, 2.464f, 2.405f,
				2.840f, 2.311f, 2.112f, 2.239f, 2.443f, 2.920f, 2.700f, 2.737f,
				2.761f, 2.947f, 2.934f, 2.710f, 2.971f, 2.802f, 2.558f, 2.668f,
				2.660f, 2.318f, 2.308f, 2.269f, 2.601f, 2.432f, 2.364f, 2.623f,
				2.597f, 2.880f, 2.750f, 2.740f, 2.839f, 2.724f, 2.331f, 2.257f,
				2.303f, 2.553f, 2.454f, 2.371f, 2.596f, 2.631f, 2.881f, 2.838f,
				2.697f, 3.388f, 3.566f, 2.707f, 2.895f, 2.944f, 2.370f, 2.436f,
				2.453f, 2.723f, 2.569f, 2.538f, 2.752f, 2.805f, 2.739f, 2.690f,
				2.349f, 2.339f, 2.294f, 2.595f, 2.494f, 2.340f, 2.609f, 2.704f,
				2.453f, 2.828f, 2.368f, 2.300f, 2.293f, 2.616f, 2.492f, 2.389f,
				2.634f, 2.698f, 2.660f, 2.051f, 2.147f, 2.101f, 2.553f, 2.331f,
				2.139f, 2.833f, 2.494f, 3.008f, 2.445f, 2.658f, 2.470f, 2.919f,
				2.781f, 2.362f, 2.350f, 2.744f, 2.717f, 2.354f, 2.591f, 2.396f,
				2.709f, 2.460f, 2.707f, 2.654f, 2.565f, 2.804f, 2.438f, 2.537f,
				2.369f, 2.178f, 2.251f, 2.843f, 2.621f, 2.569f, 2.797f, 2.846f,
				2.744f, 2.354f, 2.292f, 2.569f, 2.944f, 2.681f, 2.761f, 2.858f,
				2.411f, 2.433f, 2.812f, 2.473f, 2.580f, 2.368f, 2.617f, 2.645f,
				2.521f, 2.628f, 2.672f, 2.622f, 2.388f, 2.814f, 2.864f, 2.756f,
				3.319f, 2.755f, 3.284f, 2.741f, 2.740f, 2.792f, 2.977f, 2.575f,
				2.740f, 2.651f, 2.735f, 3.003f, 3.609f, 2.649f, 2.798f, 3.242f,
				2.902f, 2.727f, 2.069f, 2.623f, 2.913f, 2.304f, 2.625f, 2.505f,
				2.138f, 1.967f, 1.719f, 2.253f, 1.931f, 1.890f, 2.513f, 1.765f,
				1.734f, 1.671f, 1.973f, 2.224f, 2.093f, 2.227f, 2.165f, 2.428f,
				2.249f, 2.005f, 2.036f, 2.334f, 2.337f, 1.582f, 1.530f, 1.508f,
				1.435f, 1.466f, 1.382f, 1.555f, 2.055f, 1.944f, 1.881f, 1.995f,
				2.151f, 2.833f, 2.155f, 2.259f, 2.424f, 2.699f, 2.667f, 2.496f,
				2.885f, 1.610f, 2.735f, 1.344f, 1.321f, 1.556f, 2.388f, 1.945f,
				2.068f, 1.890f, 1.917f, 1.902f, 2.187f, 2.071f, 2.064f, 2.232f,
				1.936f, 3.090f, 1.959f, 2.027f, 1.302f, 1.316f, 1.955f, 1.887f,
				1.216f, 1.303f, 1.948f, 1.722f, 1.720f, 2.563f, 1.980f, 1.983f,
				2.055f, 1.948f, 1.908f, 1.670f, 1.663f, 1.655f, 2.083f, 1.862f,
				1.816f, 2.207f, 1.960f, 2.064f, 1.945f, 1.877f, 2.146f, 2.608f,
				2.059f, 2.199f, 1.273f, 1.351f, 1.707f, 1.979f, 1.770f, 1.783f,
				1.819f, 1.917f, 2.054f, 1.185f, 1.345f, 1.922f, 1.212f, 1.827f,
				1.639f, 1.930f, 1.909f, 1.922f, 1.853f, 1.835f, 1.558f, 1.582f,
				1.792f, 1.693f, 2.397f, 1.941f, 1.978f, 1.908f, 2.064f, 2.207f,
				1.339f, 1.851f, 2.110f, 2.631f, 2.565f, 2.249f, 2.553f, 2.336f,
				2.576f, 2.534f, 2.550f, 2.422f, 1.403f, 3.169f, 2.307f, 2.366f,
				2.633f, 2.249f, 2.378f, 1.972f, 1.872f, 1.959f, 2.010f, 2.284f,
				2.293f, 2.388f, 1.648f, 1.605f, 2.337f, 2.583f, 2.397f, 2.567f,
				2.639f, 2.433f, 1.961f, 2.013f, 2.056f, 1.933f, 2.320f, 2.414f,
				2.188f, 2.088f, 2.496f, 2.372f, 1.907f, 1.768f, 1.971f, 2.106f,
				2.378f, 2.265f, 2.481f, 1.742f, 1.939f, 2.395f, 2.094f, 2.214f,
				2.422f, 2.317f, 1.694f, 1.863f, 1.770f, 2.265f, 2.147f, 2.242f,
				2.421f, 2.562f, 2.005f, 2.504f, 2.475f, 2.476f, 2.005f, 1.819f,
				3.034f, 2.134f, 2.376f, 2.550f, 1.984f, 2.372f, 1.936f, 2.667f,
				1.661f, 1.835f, 2.528f, 1.758f, 1.791f, 1.703f, 2.270f, 2.189f,
				2.146f, 2.303f, 2.554f, 1.287f, 1.172f, 1.315f, 1.797f, 1.897f,
				1.218f, 1.786f, 1.578f, 1.540f, 2.042f, 1.745f, 1.785f, 1.619f,
				1.551f, 1.754f, 2.011f, 1.763f, 1.621f, 2.081f, 1.782f, 1.895f,
				1.751f, 1.911f, 1.691f, 1.773f, 2.155f, 1.989f, 1.923f, 1.878f,
				1.790f, 1.220f, 1.841f, 1.576f, 1.788f, 1.767f, 1.622f, 1.565f,
				1.781f, 1.837f, 1.728f, 2.227f, 1.728f, 1.818f, 2.152f, 2.122f,
				1.248f, 1.936f, 2.350f, 3.241f, 2.659f, 1.732f, 2.222f, 2.349f,
				2.366f, 2.037f, 1.996f, 2.530f, 2.245f, 2.225f, 2.279f, 2.212f,
				1.827f, 1.716f, 1.479f, 1.484f, 1.742f, 2.201f, 2.002f, 1.707f,
				2.219f, 1.762f, 1.485f, 1.433f, 1.447f, 1.447f, 2.195f, 1.621f,
				1.618f, 2.349f, 2.205f, 1.782f, 1.860f, 1.679f, 1.763f, 1.610f,
				1.713f, 1.988f, 1.838f, 2.190f, 1.688f, 2.136f, 1.709f, 1.947f,
				2.693f, 2.393f, 2.325f, 2.048f, 2.045f, 2.291f, 2.262f, 1.931f,
				2.177f, 2.372f, 2.109f, 2.074f, 2.232f, 2.337f, 1.939f, 2.106f,
				3.052f, 3.096f, 2.551f, 2.758f, 2.310f, 2.574f, 2.616f, 2.328f,
				2.240f, 2.554f, 2.398f, 2.136f, 2.593f, 2.377f, 2.107f, 2.120f,
				2.414f, 2.174f, 1.943f, 2.182f, 2.338f, 1.950f, 2.226f, 2.271f,
				2.121f, 2.144f, 2.155f, 2.345f, 2.537f, 2.175f, 2.695f, 2.463f,
				2.417f, 2.323f, 2.446f, 2.186f, 2.319f, 2.191f, 2.809f, 2.691f,
				2.719f, 2.546f, 2.568f, 2.749f, 2.552f, 2.521f, 2.240f, 2.290f,
				1.232f, 1.189f, 1.712f, 1.814f, 1.140f, 1.128f, 1.862f, 1.125f,
				1.735f, 1.576f, 1.763f, 1.660f, 1.418f, 1.741f, 1.876f, 1.755f,
				1.804f, 1.216f, 1.750f, 1.176f, 1.973f, 2.636f, 1.564f, 1.572f,
				2.225f, 2.302f, 1.524f, 1.549f, 2.237f, 1.712f, 1.692f, 2.207f,
				1.117f, 1.767f, 1.676f, 1.501f, 1.695f, 1.595f, 1.464f, 1.628f,
				2.214f, 1.897f, 1.704f, 1.644f, 1.741f, 2.159f, 2.159f, 1.757f,
				2.278f, 1.922f, 1.686f, 1.582f, 1.725f, 2.280f, 2.168f, 2.287f,
				2.264f, 2.876f, 2.318f, 1.878f, 1.766f, 1.422f, 1.912f, 1.397f,
				1.489f, 1.333f, 1.417f, 1.397f, 1.729f, 1.939f, 2.015f, 1.370f,
				1.378f, 1.371f, 1.392f, 1.758f, 2.041f, 2.187f, 2.062f, 1.722f,
				1.730f, 1.382f, 1.724f, 1.908f, 1.978f, 2.193f, 2.029f, 2.108f,
				2.044f, 2.152f, 1.991f, 1.954f, 1.985f, 2.004f, 2.073f, 2.141f,
				2.012f, 2.012f, 2.053f, 2.477f, 2.208f, 2.208f, 2.059f, 2.432f,
				1.354f, 1.359f, 1.911f, 1.375f, 1.994f, 1.571f, 1.686f, 2.023f,
				2.057f, 1.598f, 1.654f, 1.710f, 1.777f, 2.023f, 1.741f, 2.083f,
				1.378f, 2.061f, 1.403f, 2.083f, 1.668f, 2.114f, 2.048f, 2.097f,
				1.641f, 1.652f, 1.786f, 2.103f, 1.987f, 1.856f, 2.159f, 2.157f,
				1.992f, 1.959f, 2.037f, 2.043f, 1.873f, 2.033f, 2.127f, 1.978f,
				2.132f, 1.976f, 2.039f, 2.062f, 2.142f, 2.135f, 2.290f, 2.065f,
				2.596f, 2.370f, 2.363f, 2.329f, 2.394f, 2.239f, 2.373f, 2.389f,
				2.540f, 2.331f, 1.827f, 2.153f, 1.412f, 1.369f, 1.428f, 2.010f,
				1.910f, 1.930f, 2.038f, 2.131f, 1.319f, 1.961f, 1.365f, 1.718f,
				2.050f, 2.160f, 1.968f, 1.908f, 1.725f, 1.871f, 2.044f, 1.988f,
				1.358f, 1.405f, 1.721f, 2.285f, 1.991f, 2.184f, 2.378f, 1.917f,
				2.000f, 2.227f, 2.558f, 2.495f, 2.089f, 2.401f, 1.306f, 1.385f,
				1.633f, 1.612f, 1.548f, 1.735f, 2.023f, 1.760f, 1.901f, 2.164f,
				1.860f, 2.334f, 2.059f, 2.084f, 2.325f, 2.480f, 2.299f, 2.346f,
				2.077f, 2.391f, 2.322f, 2.326f, 2.166f, 2.152f, 2.368f, 2.261f,
				2.393f, 2.251f, 2.232f, 2.750f, 2.665f, 1.785f, 1.869f, 1.745f,
				1.683f, 1.505f, 1.447f, 1.389f, 1.842f, 1.526f, 1.409f, 1.396f,
				1.333f, 1.386f, 1.434f, 2.180f, 1.985f, 1.342f, 1.402f, 1.353f,
				2.042f, 1.719f, 1.732f, 1.703f, 1.715f, 1.921f, 1.755f, 2.133f,
				2.068f, 2.032f, 1.420f, 1.377f, 1.377f, 1.815f, 2.574f, 1.908f,
				1.910f, 2.042f, 1.972f, 1.965f, 1.920f, 2.223f, 2.114f, 1.912f,
				2.360f, 2.250f, 2.269f, 2.121f, 1.817f, 1.343f, 1.898f, 1.866f,
				1.582f, 1.943f, 1.886f, 1.609f, 1.564f, 1.775f, 1.781f, 1.803f,
				1.914f, 2.095f, 1.915f, 2.425f, 1.925f, 2.208f, 1.969f, 1.989f,
				1.966f, 2.005f, 2.016f, 2.632f, 2.489f };

	private static final boolean CONSIDER_PI[] = { false,
				   false,  false,  false,  false,   true,   true,   //  H  f,He f,Li f,Be f,B  f,C  f,
				   true,   true,  false,  false,  false,  false,   //  N f, O  f,F  f,Ne f,Na f,Mg f,
				   false,  false,   true,   true };	                //  Al f,Si f,P  f,S

	private final float[]	mBondLength;

	/**
	 * Calculates and caches a list of bond length estimates from molecule.
	 * @param mol
	 */
	public BondLengthSet(final StereoMolecule mol) {
		mol.ensureHelperArrays(Molecule.cHelperRings);
	
		mBondLength = new float[mol.getAllBonds()];
		for (int bond=0; bond<mol.getAllBonds(); bond++)
			mBondLength[bond] = lookupBondLength(mol, bond);
		}

	public float getLength(int bond) {
		return mBondLength[bond];
		}

	/**
	 * Returns an estimate of the bond length based on atom and bond characteristics.
	 * Relies on pre-processed data from the CCDC database.
	 * Requires cHelperRings level of helper arrays.
	 * @param mol
	 * @param bond
	 * @return
	 */
	public static float lookupBondLength(StereoMolecule mol, int bond) {
		int atom1 = mol.getBondAtom(0, bond);
		int atom2 = mol.getBondAtom(1, bond);
		int atomicNo1 = mol.getAtomicNo(atom1);
		int atomicNo2 = mol.getAtomicNo(atom2);
		String atomPi1 = (atomicNo1 < CONSIDER_PI.length && CONSIDER_PI[atomicNo1]) ? ""+mol.getAtomPi(atom1) : "";
		String atomPi2 = (atomicNo2 < CONSIDER_PI.length && CONSIDER_PI[atomicNo2]) ? ""+mol.getAtomPi(atom2) : "";
		String atomType1 = Molecule.cAtomLabel[atomicNo1] + atomPi1;
		String atomType2 = Molecule.cAtomLabel[atomicNo2] + atomPi2;
		String bondType = mol.isDelocalizedBond(bond) ? "d"
						: mol.isAromaticBond(bond) ? "a"+mol.getBondOrder(bond)
						: ""+mol.getBondOrder(bond);
		String type = bondType+((atomType1.compareTo(atomType2)<0)?atomType1+atomType2:atomType2+atomType1);

		int index = 2048;
		int increment = 1024;
		for (int i=0; i<12; i++) {
			int comparison = (index < BOND_TYPE.length) ? type.compareTo(BOND_TYPE[index]) : -1;
			if (comparison == 0)
				return BOND_LENGTH[index];
			index = (comparison < 0) ? index-increment : index+increment;
			increment /= 2;
			}

		return 2.0f;	// if not found
		}
	}
